---
output: html_notebook
---
```{r, message = FALSE, echo = FALSE}
library(plotly)
library(crosstalk)
library(ggplot2)
files <- list.files("dataCSV")
i <- 0
options(warn = -1)
frame = data.frame()
for (i in files) {
  csv <- gsub(" ", "", paste("dataCSV\\", i))
  data <- read.csv(csv, sep = ";", encoding = "Windows-1250")
  df <- data.frame(data)
  frame <- plyr::rbind.fill(frame, df)
}
f <- highlight_key(frame)

bscols(widths = 10,
       filter_select(id = "powiat_miasto", label = "Powiat", f, ~ powiat_miasto),
       plot_ly(data = f, x = frame$stan_rekordu_na, y = frame$liczba_przypadkow, type = 'scatter', mode = 'lines', color = frame$powiat_miasto) %>% layout(title = "Liczba zakażen Covid-19", xaxis = list(title = "data"), yaxis = list(title = "liczba przypadków"))
)
```